#ifndef CHECKBOXSWITCHER_H
#define CHECKBOXSWITCHER_H

#include "switcher.h"
#include <QCheckBox>

class CheckboxSwitcher : public Switcher
{
private:
    bool defaultValue;
    QCheckBox *widget;

public:
    CheckboxSwitcher();

    ~CheckboxSwitcher() {
        delete widget;
    }

    bool getDefaultValue() {return defaultValue;}
    void setDefaultValue(bool v) {defaultValue = v;}

    virtual QWidget* getComponent(QWidget *parent);

    virtual QString buildSwitcherString();

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

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

    virtual void setSavedValues(QDomElement &el) {
        widget->setChecked(el.attribute("value", "0") != "0");
    }
};

#endif // CHECKBOXSWITCHER_H
