#ifndef SPELLFILTER_H
#define SPELLFILTER_H

#include <QString>

class SpellFilter
{
public:
    SpellFilter();

    void setNameFilter(QString nameFilter);
    QString nameFilter() const;
    bool hasNameFilter() const;

    void setSchoolFilter(QString schoolFilter);
    QString schoolFilter() const;
    bool hasSchoolFilter() const;

    void setLevelFilter(QString levelFilter);
    int levelFilter() const;
    bool hasLevelFilter() const;

    void setClassFilter(QString classFilter);
    QString classFilter() const;
    bool hasClassFilter() const;

    void setRitualFilter(int state);
    bool ritualFilter() const;
    bool hasRitualFilter() const;

    void setConcentrationFilter(int state);
    bool concentrationFilter() const;
    bool hasConcentrationFilter() const;

    void setVocalFilter(int state);
    bool vocalFilter() const;
    bool hasVocalFilter() const;

    void setSomaticFilter(int state);
    bool somaticFilter() const;
    bool hasSomaticFilter() const;

    void setMaterialFilter(int state);
    bool materialFilter() const;
    bool hasMaterialFilter() const;

    void setMaterialExpensiveFilter(int state);
    bool materialExpensiveFilter() const;
    bool hasMaterialExpensiveFilter() const;

    void setMaterialConsumedFilter(int state);
    bool materialConsumedFilter() const;
    bool hasMaterialConsumedFilter() const;

private:
    QString _nameFilter;
    QString _schoolFilter;
    int _levelFilter;
    QString _classFilter;
    int _ritualFilter;
    int _concentrationFilter;
    int _vocalFilter;
    int _somaticFilter;
    int _materialFilter;
    int _materialExpensiveFilter;
    int _materialConsumedFilter;
};

#endif // SPELLFILTER_H
