#ifndef SELECTSWITCHER_H
#define SELECTSWITCHER_H

#include "switcher.h"
#include <QList>
#include <QComboBox>
#include <QDebug>
#include <QDomElement>

#define NONE_STR  "-- None --"

class SelectSwitcher : public Switcher
{
private:
    QList<QString> options;
    QComboBox *widget;

public:
   SelectSwitcher();

   ~SelectSwitcher() {
       delete widget;
   }

   void addOption(QString o) {options.append(o);}

   virtual QWidget* getComponent(QWidget *parent);

   virtual QString buildSwitcherString();

   virtual void setValuesFromNode(QDomElement &el);

   virtual QDomNode& getProjectNode(QDomElement& el) {
        Switcher::getProjectNode(el);

        el.setAttribute("value", widget->currentText());
        return el;
    }

   virtual void setSavedValues(QDomElement &el) {
       for (int i = 0; i < widget->count(); i++) {
           if (widget->itemText(i) == el.attribute("value", NONE_STR)) {
               widget->setCurrentIndex(i);
               return;
           }
       }
    }
};

#endif // SELECTSWITCHER_H
