#include "selectswitcher.h"


SelectSwitcher::SelectSwitcher(): widget(0)
{
}

QString SelectSwitcher::buildSwitcherString() {
    if (widget == 0 || widget->currentIndex() == 0) return "";

    return switcher + " " + quotesText(options.at(widget->currentIndex()-1));
}

QWidget* SelectSwitcher::getComponent(QWidget *parent) {
    if (widget == 0) {
        widget = new QComboBox(parent);
        QObject::connect(widget, SIGNAL(currentIndexChanged(int)),
                         this, SLOT(onChange()));
    }
    widget->addItem(NONE_STR);
    for (int i = 0; i < options.size(); i++) {
        widget->addItem(options.at(i));
    }
    return widget;
}

void SelectSwitcher::setValuesFromNode(QDomElement &el) {
    Switcher::setValuesFromNode(el);
    QDomNode itemNode = el.firstChild();
   while(!itemNode.isNull()) {
       QDomElement itemElement = itemNode.toElement();
       addOption(itemElement.text().trimmed());
       itemNode = itemNode.nextSibling();
   }
}
